package com.zzr.zzrbackend.service;

import com.zzr.zzrbackend.pojo.dto.CommonResult;
import com.zzr.zzrbackend.pojo.dto.param.*;
import com.zzr.zzrbackend.pojo.dto.result.*;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.security.NoSuchAlgorithmException;

public interface LoginService {
    CommonResult<LoginResult> login(LoginParam loginParam, HttpServletRequest request, HttpServletResponse response) throws NoSuchAlgorithmException;

    CommonResult<LoginResult> loginNew(String param) throws Exception;

    CommonResult<NoData> register(RegisterParam registerParam) throws NoSuchAlgorithmException;

    CommonResult<SetIdentityResult> setIdentity(SetIdentityParam setIdentityParam);

    CommonResult<NoData> setChildInformation(ChildInformationParam childInformationParam);

    CommonResult<NoData> setParentInformation(ParentInformationParam parentInformationParam);

    CommonResult<GetInvitationCodeResult> getInvitationCode();

    CommonResult<NoData> setInvitationCode(InvitationCode invitationCode);

    CommonResult<VerifyInvitationCodeResult> verifyInvitationCode();

    CommonResult<NoData> verifyPhone(SeedCodeParam seedCodeParam);

    CommonResult<NoData> findPassword(FindPasswordParam findPasswordParam) throws NoSuchAlgorithmException;
}
